1. Field of the Invention
The invention relates to security in a computer network, and more particularly to a secure method for communicating remote control commands in a distributed computing environment.
2. Description of the Related Art
A majority of today's businesses utilize some form of computer network. As servers and clients are deployed into more mission critical environments and used in more remote areas, the amount of human resources required to manage these computer networks is growing. Computer networks are often maintained by either a network administrator or an Information Systems (IS) department. Network administrators are often tasked with performing such duties as data backups or software updates on network computers at times when network users will not be negatively impacted (e.g., at night). These tasks are simplified somewhat by relatively new network management hardware and software that allows remote access to network computers. To remotely access network computers, however, requires that network users leave machines running or disable energy saving features. This requirement can conflict with efforts to reduce computer power consumption.
In particular, the Environmental Protection Agency (EPA) has attempted, through the Energy Star Program, to reduce computer power consumption via the creation of so-called "green" computers. The term "green computer" typically refers to a computer that enters low-power mode following a specified period of inactivity. The proliferation of green computers in networks, while laudable, can interfere with a network administrator's duties. For example, if a network computer is in sleep mode (or other low power state) it often cannot be addressed from the network.
Attempts have been made to alleviate this problem. For example, Magic Packet.TM. technology, a proposed industry standard jointly developed by Advanced Micro Devices and Hewlett-Packard Corporation, provides a mechanism whereby a network administrator or network management software can "wake up" or power down a network computer by sending it a special Ethernet frame. Briefly, the Ethernet frame includes a specific data pattern that can be detected by a specially configured network interface controller incorporated in a network computer. The network interface controller is capable of communicating with the network computer's power management hardware or software to power up or power down the network computer in response to a control code portion of the special Ethernet frame.
In addition to networking hardware and software, today's businesses also invest large amounts of money developing information contained in data files such as text documents and spreadsheets. Protecting such investments can be critical to the success and reputation of a business. Public accounts of the exploits of computer "hackers"--as malicious code-breakers or eavesdroppers are sometimes called--have therefore focused and magnified corporate desires for secure communications and better methods of protecting data. The scope of the problem is undoubtedly even more serious than reported, given the reluctance of many businesses to publicize security breaches. As a result, computer manufacturers and network software developers are striving to incorporate security and integrity features into their products to restrict access to data contained on network hard drives, as well as information contained in other critical network components.
One known approach to security involves encryption or cryptography. Cryptography is typically used to protect both data and communications. Generally, an original message or data item is referred to as "plain text", while "encryption" denotes the process of disguising or altering a message in such a way that its substance is not readily discernable. An encrypted message is sometimes called "ciphertext". Ciphertext is returned to plain text by an inverse operation referred to as "decryption". Encryption is typically accomplished through the use of a cryptographic algorithms which is essentially a mathematical function. The most common cryptographic algorithms are key-based, where special knowledge of variable information called a "key" is required to decrypt ciphertext. There are many types of key-based cryptographic algorithms, providing varying levels of security.
The two most prevalent cryptographic algorithms are generally referred to as "symmetric" (also called secret key or single key algorithms) and "public key" (also called asymmetric algorithms). The security in these algorithms is centered around the keys--not the details of the algorithm itself. This makes it possible to publish the algorithm for public scrutiny and then mass produce it for incorporation into security products.
In symmetric algorithms, the encryption key and the decryption key are the same. This single key encryption arrangement is not without drawbacks. The sender and recipient of a message must somehow exchange information regarding the secret key. Each side must trust the other not to disclose the key. Further, the sender must generally communicate the key via another media (similar to a bank sending the personal identification number for an ATM card through the mail). This arrangement can be impractical, for example, when the parties interact electronically for the first time over a network. The number of keys also increases rapidly as the number of users increases.
With public key algorithms, by comparison, the key used for encryption is different from the key used for decryption. It is generally very difficult to calculate the decryption key from an encryption key. In typical operation, the "public key" used for encryption is made public via a readily accessible directory, while the corresponding "private key" used for decryption is known only to the recipient of the ciphertext. In an exemplary public key transaction, a sender retrieves the recipient's public key and uses it to encrypt the message prior to sending it. The recipient then decrypts the message with the corresponding private key. It is also possible to encrypt a message using a private key and decrypt it using a public key. This is sometimes used in digital signatures to authenticate the source of a message.
The number of cryptographic algorithms is constantly growing. The two most popular are DES (Data Encryption Standard) and RSA (named after its inventors--Rivest, Shamir, and Adleman). DES is a symmetric algorithm with a fixed key length. RSA is a public key algorithm that can be used for both encryption and digital signatures. DSA Digital Signature Algorithm) is another popular public key algorithm that is only used for digital signatures. With any of these algorithms, the relative difficulty of breaking an encrypted message by guessing a key with a brute force attack is proportional to the length of the key. For example, if the key is 40 bits long (5 characters), the total number of possible keys (2.sup.40) is about 110 billion. Given the computational power of modern computers, this value is often considered inadequate. By comparison, a key length of 56 bits (7 characters) provides 65,636 times as many possible values as the 40 bit key.
One problem with key-based algorithms is speed. Public key algorithms, in particular, are typically on the order of 1,000 times slower than symmetric algorithms. Even symmetric algorithms can be slow when compared with so-called "one-way functions" or "one-way hash functions".
Briefly, an ideal one-way hash function, denoted H(M), operates on an arbitrary-length block of text or message M The one-way hash function returns a fixed-length hash value, h, such that h=H(M), where h is of length m. One-way hash functions have special characteristics that make them one-way. Given M, for example, it is easy to compute h. Given h, it is impossible to reverse the hashing process and compute M such that H(M)=h. Further, it is impossible to find another message, M', such that H(M)=H(M'). In essence, the one-way hash function provides a "fingerprint" of M that is unique, and is therefore useful for purposes of authenticating the source of a message.